package com.xwj.nio.netty.basic;

import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;

/**
 * Handler处理器的作用是对应到IO事件，实现IO事件的业务处理
 * 对于处理入站的IO事件的方法，对应的接口为ChannelInboundHandler入站处理接口，
 * 而ChannelInboundHandlerAdapter则是Netty提供的入站处理的默认实现
 *
 * @author xwj
 * @date 2020/6/11
 */
public class DiscardServerHandler extends ChannelInboundHandlerAdapter {
    @Override
    public void channelRead(ChannelHandlerContext ctx, Object msg) {
        ByteBuf buf = ((ByteBuf) msg);
        System.out.println("丢弃收到的消息：");
        while (buf.isReadable()) {
            System.out.println((char) buf.readByte());
        }
        // 直接丢弃消息
        ((ByteBuf) msg).release();
    }
}
